$(document).ready(function(){
	cw.common.setStyle();
	$('#subImg').bind('click',subButton);
	loadFunctionTree();
	validate();
})

//载入功能树
var functionTree;
function loadFunctionTree(){
	functionTree = new dTree('functionTree',cw.common.path + '/common/dtree/images');
	functionTree.add(1,-1,'功能列表');
	$.post(cw.common.path+'/json',
		{
			action : 'QUERY_FUNCTION_TREE_ACTION'
		}, function(data){
			if (data.success) {
				var size = data.root.T_SYS_FUNCTION.rs.length
				for(var i = 0; i < size; i++) {
					var obj=data.root.T_SYS_FUNCTION.rs[i];
					functionTree.add(obj.FUNCTION_ID, obj.PARENT_FUNCTION==''?1:obj.PARENT_FUNCTION,
						'FUNCTION_ID', obj.FUNCTION_ID, obj.FUNCTION_NAME, 
						null, null, null, null, null, null, null, null);
				}
				$('#funtree').html(functionTree.toString());
			} else {
				alert(data.errors.errmsg);
			}
		}, 'json');
}

//提交表单
function subFrm(){
	var options = {
	    dataType: 'json',
    	iframe:	false,
	    success: function(data) {
	    	if(data.success){
	    		alert('已添加系统角色'+$('#ROLE_NAME').val());
	      		window.location.href="roleList.html";
	      	}else{
	      		alert(data.errors.errmsg);
	      	}
	   	}
	};
	$.ajaxSetup({contentType:'application/x-www-form-urlencoded;charset=utf-8'});
    $('#frm').ajaxSubmit(options);
}

//提交验证
function subButton(){
	return jQuery.formValidator.pageIsValid(1);
}

//验证
function validate(){
	$.formValidator.initConfig({formid:"frm",onerror:function(msg){alert(msg)},onsuccess:function(){subFrm();return false;}});
	$("#ROLE_NAME").formValidator({onshow:"请输入角色名称",oncorrect:"该角色名称可以使用",onfocus:"英文或简体中文、不能重复、4~16个字符"}).inputValidator({min:1,onerror:"角色名称必填"}).inputValidator({max:16,onerror:"角色名称中文不超过8个字，英文不超过16个字符"})
	.functionValidator({
		fun:function (str,elem){
			str = $.trim(str);
			if(str.length == 0) return "角色名称不允许为空";
			var a = !str.match('^([a-zA-Z]|[\\u4E00-\\u9FA5\\uF900-\\uFA2D])+$');
			if(a) return "角色名称格式不正确，请按正确的格式填写!正确格式：简体中文或英文";
			return true;
		}, onerror: "角色名称错误"
	})
	.ajaxValidator({
		url : cw.common.path + "/json?action=CHECK_ROLE_BY_NAME_ACTION",
		type : 'get',
		datatype : "json",
		success : function(data){
			if(data.success){
	            if(data.root.T_ROLE != undefined  && data.root.T_ROLE.rs[0] != null && data.root.T_ROLE.rs[0] != "" && data.root.T_ROLE.rs[0] != undefined){
	            	return false;
	            }
	            else{
	            	return true;
	            }
			}else{
				alert('系统异常，请联系管理员，错误信息如下：'+data.errors.errmsg);
				return false;
			}
		},
		buttons: $("#subImg"),
		error: function(){alert("服务器没有返回数据，可能服务器忙，请重试");},
		onerror : "该角色名称已被占用，请更换角色名称",
		onwait : "正在对角色名称进行校验，请稍候..."
	});
	$("#ROLE_DESC").formValidator({empty:true,onshow:"请输入角色描述",oncorrect:"正确",onfocus:"30个字符以内、英文、数字或简体中文"}).inputValidator({max:30,onerror:"角色描述信息中文不超过15个字，英文不超过30个字符"})
	.functionValidator({
		fun:function (str,elem){
			str = $.trim(str);
			var a = !str.match('^([a-zA-Z]|[\\u4E00-\\u9FA5\\uF900-\\uFA2D]|[0-9])*$');
			if(a) return "角色描述格式不正确，请按正确的格式填写!正确格式：简体中文或英文";
			return true;
		}, onerror: "角色描述错误"
	});
	$("#funtree").formValidator({onshow:"请为角色分配模块权限",oncorrect:"正确",onfocus:"请为角色分配模块权限"})
	.functionValidator({
		fun:function (str,elem){
			if(getCheckedNum('FUNCTION_ID')==0){
				return false;
			}
			return true;
		}, onerror: "该角色未分配任何模块权限"
	});
}
